This invention relates in general to device drivers and, more particularly, to a device driver selecting a page description language for use.
A page description language (PDL) is a language for describing the layout and contents of a printed page. Printer drivers are interfaces between applications and printers. Printer drivers receive information from applications and translate the information into PDLs. The printer drivers then communicate with the printers using the PDLs.
Conventionally, a printer capable of understanding multiple PDLs required multiple printer drivers to interface with applications. Each printer driver would translate information from applications to only one PDL. Therefore, in order to utilize each PDL of a printer, a printer driver was required for each PDL.
User applications are often tailored to or simply work best with a particular PDL. Prior solutions for selecting a PDL for use with an application required that a user select the driver that implements the desired PDL. In many cases, the user may not have known what a PDL was or which PDL should be used with an application.
According to principles of the present invention, a page description language (PDL) is selected for use by a device driver. A PDL is assigned to an application. The device driver is loaded from within the application. The application from within which the device driver was loaded is discovered. The PDL assigned to the application is selected for use by the device driver.
According to further principles of the present invention, the application from within which the device driver was loaded may be discovered by examining the host operating environment within which the application is operating.
According to further principles of the present invention, the assignment of the PDL to the application may be stored in an index such as a registry or a file.
According to further principles of the present invention, the PDL assigned to the application may be selected by searching the index to find the PDL assignment for the application and extracting from the assignment the PDL assigned to the application.